package com.moon.interview.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moon.interview.model.dto.question.QuestionAddRequest;
import com.moon.interview.model.dto.question.QuestionQueryRequest;
import com.moon.interview.model.dto.question.QuestionUpdateRequest;
import com.moon.interview.model.entity.Question;
import com.moon.interview.model.vo.QuestionSimpleVo;
import com.moon.interview.model.vo.QuestionVo;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;


public interface IQuestionService extends IService<Question> {

    /** 分页查询 所有题目*/
    Page<QuestionVo> pageQuestionVo(QuestionQueryRequest queryRequest);

    /** 分页查询 登录用户的题目*/
    Page<QuestionVo> pageQuestionVoByLoginUser(QuestionQueryRequest queryRequest);

    /** 分页查询 题目基本内容*/
    Page<QuestionSimpleVo> pageQuestionSimpleVo(QuestionQueryRequest queryRequest);

    /** 查询题目详情 */
    QuestionVo getQuestionVo(Long id);

    /** 新增题目 */
    Boolean addQuestion(QuestionAddRequest addRequest);

    /** 更新题目 */
    Boolean updateQuestion(QuestionUpdateRequest updateRequest);

    /** 删除题目 */
    Boolean removeQuestion(Long id);

    /** 批量删除题目 */
    Boolean removeBatchQuestion(List<Long> idList);
}
